\hypertarget{classCUISocket}{
\section{\-C\-U\-I\-Socket \-Class \-Reference}
\label{classCUISocket}\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}}
}


{\ttfamily \#include $<$ui\-\_\-socket.\-h$>$}

\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classCUISocket_afee809112baa5364f51f81e5f2a8212b}{set\-Properties\-Reader} (\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$p\-Config)
\item 
bool \hyperlink{classCUISocket_a108336762bfba6e0cd82f90b343d4a8d}{start\-U\-I\-Server} ()
\item 
bool \hyperlink{classCUISocket_aa67053ededca7396999cf9236756b837}{wait\-For\-U\-I\-Client\-And\-Start\-Signal} ()
\item 
void \hyperlink{classCUISocket_a5c2c555aef9065701ed9332b285a2083}{set\-Amp\-Multiplier} (double amp)
\item 
double \hyperlink{classCUISocket_a6617426e8cac4297824f2915dfcccbb7}{get\-Amp\-Multiplier} ()
\item 
void \hyperlink{classCUISocket_a49f48904e1979287e35b4bd6360a8616}{set\-Running} (bool $\ast$p\-Running)
\item 
bool \hyperlink{classCUISocket_a64f1386ed505563bca2b077c48b9d8bd}{send\-Info} (uint8\-\_\-t p\-Log\-Level, const char $\ast$p\-Date, int p\-Date\-Len, const char $\ast$p\-Info, int p\-Info\-Len)
\item 
void \hyperlink{classCUISocket_a30862c28b8475def04bed534d90b2cef}{send\-Extract\-Buffer\-Info} (uint32\-\_\-t p\-Used, uint32\-\_\-t p\-Size)
\item 
void \hyperlink{classCUISocket_af430160332bdae64d31111d423b86653}{send\-Frame\-Send\-Length} (uint32\-\_\-t p\-Length)
\item 
void \hyperlink{classCUISocket_ab6bd0a3090260efc93b0d1d8a581725d}{send\-Frame\-Recv\-Length} (uint32\-\_\-t p\-Length, bool p\-Error)
\item 
void \hyperlink{classCUISocket_a694762d2f9412296c8cc5ecd55696a2b}{send\-Packet\-Send\-Length} (uint32\-\_\-t p\-Length)
\item 
void \hyperlink{classCUISocket_a8729d9e58f5bb0a6155a85d2c883cb59}{send\-Packet\-Recv\-Length} (uint32\-\_\-t p\-Length, bool p\-Crc\-Error)
\item 
void \hyperlink{classCUISocket_a910519bb460ae46977c7bde573ed11c4}{send\-Stream\-Send\-Info} (int p\-Id, int p\-Ack, uint32\-\_\-t p\-Length, bool p\-Replay)
\item 
void \hyperlink{classCUISocket_aac64188eb647ce49d985e182a689c7c3}{send\-Stream\-Send\-Data} (void $\ast$p\-Data, int p\-Length)
\item 
void \hyperlink{classCUISocket_a70f0d1081cd688dc4dcb85a8cb753154}{send\-Stream\-Recv\-Info} (int p\-Id, int p\-Ack, uint32\-\_\-t p\-Length, bool p\-Replay)
\item 
void \hyperlink{classCUISocket_ad59551d52bfa47b4552198a6ed64dde9}{send\-Stream\-Recv\-Data} (void $\ast$p\-Data, int p\-Length)
\item 
bool \hyperlink{classCUISocket_aeee0cd96e8153005e16d50e9b8b4c9c6}{send\-Protocol\-Open} ()
\item 
void \hyperlink{classCUISocket_a21e4a16f7475965caa7eb1482cc6d515}{send\-Protocol\-Write} (void $\ast$p\-Data, int p\-Length)
\item 
void \hyperlink{classCUISocket_a0974942bfcf36204ec3b3226d433f3c9}{send\-Protocol\-Close} ()
\item 
void \hyperlink{classCUISocket_a701935eafe95d8deb25ae3575c591d00}{send\-Protocol\-Read\-Feedback} (uint32\-\_\-t p\-Read, uint32\-\_\-t p\-Size)
\item 
void \hyperlink{classCUISocket_afed242cdc5a412bd489354eee0ef9f6c}{send\-Amp\-Embed} (unsigned char p\-Amp)
\item 
void \hyperlink{classCUISocket_a7163501984bd3362b201a219855bc089}{send\-Amp\-Extract} (unsigned char p\-Amp)
\item 
bool \hyperlink{classCUISocket_a35ed529797a42cf07e8fdf76b2e79e4f}{get\-Next\-Protocol\-Read\-Byte} (unsigned char \&p\-Read\-Value)
\end{DoxyCompactItemize}
\subsection*{\-Static \-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classCUISocket}{\-C\-U\-I\-Socket} $\ast$ \hyperlink{classCUISocket_ab006181e1757584fda623337a8c4038a}{get\-Instance} ()
\item 
static void \hyperlink{classCUISocket_af4406d7bf762e81116e6641e9e6aa38c}{destroy} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCUISocket_ae2103572309116cadf6bc20dcb708ec2}{\-C\-U\-I\-Socket} ()
\item 
virtual \hyperlink{classCUISocket_a1f85e18bf2626625d0dcfac97e9a7edf}{$\sim$\-C\-U\-I\-Socket} ()
\item 
\hyperlink{classCUISocket_a9b19fd388475f468f41a1c301df4b823}{\-C\-U\-I\-Socket} (const \hyperlink{classCUISocket}{\-C\-U\-I\-Socket} \&)
\item 
\hyperlink{classCUISocket}{\-C\-U\-I\-Socket} \& \hyperlink{classCUISocket_a3ca7579043e634d08dff251a5fa0b45b}{operator=} (const \hyperlink{classCUISocket}{\-C\-U\-I\-Socket} \&)
\item 
void $\ast$ \hyperlink{classCUISocket_a7ae68505fbd40e081f950f3c8977287b}{thread\-For\-Server\-Accept} ()
\item 
void \hyperlink{classCUISocket_a297b14c0cbaf927e0f4fd87a9f8120a4}{client\-Function} ()
\item 
int \hyperlink{classCUISocket_a120684bbc1fc19767e6243bf079d7d1e}{full\-Recv} (void $\ast$p\-Buf, int p\-Length)
\item 
int \hyperlink{classCUISocket_ac2f5d523f1222c777067f0537488f09f}{full\-Send} (const void $\ast$p\-Buf, int p\-Length)
\item 
int \hyperlink{classCUISocket_ae24d01cb02c33e2605c1fe7f66086acd}{send\-Length} (uint32\-\_\-t p\-Len)
\item 
int \hyperlink{classCUISocket_a0a247cf861ecefb2d7ad2e0f7f6d0d47}{send\-Data} (const void $\ast$p\-Payload, int p\-Len)
\item 
bool \hyperlink{classCUISocket_a1d827cb5b450f0406071a240532c1fcf}{send\-Command} (uint8\-\_\-t p\-Command, const void $\ast$p\-Payload, int p\-Len)
\begin{DoxyCompactList}\small\item\em \-Create and send a command over the socket to the \-U\-I. \end{DoxyCompactList}\item 
bool \hyperlink{classCUISocket_ab8db7809dec663e4f2ab1f2917b7314d}{send\-Configuration} ()
\item 
std\-::string \hyperlink{classCUISocket_a47e3f1e51216c4553768ca8ac3dbba7a}{print\-Data} (unsigned int p\-Offset, const void $\ast$p\-Data, int p\-Len)
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
static void $\ast$ \hyperlink{classCUISocket_a87617588abf1b0c38a3f214c55750bb4}{pthread\-For\-Server\-Accept} (void $\ast$p\-U\-I\-Socket)
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
pthread\-\_\-mutex\-\_\-t \hyperlink{classCUISocket_aab63ab870a2d3649d1d66ead11d73eaf}{m\-Command\-Send\-Sync}
\item 
pthread\-\_\-mutex\-\_\-t \hyperlink{classCUISocket_aaec2a23c5e3255a0dffc3a3c62472007}{m\-Send\-Sync}
\item 
\hyperlink{properties__reader_8h_a67847fd00cb49d80dd45f61722eb9a43}{\-C\-Properties\-Reader} $\ast$ \hyperlink{classCUISocket_ab788cb96d6bb37631898b83a4697b3dd}{m\-Config}
\item 
pthread\-\_\-mutex\-\_\-t \hyperlink{classCUISocket_a00bc83d2580f29358c85b605b7c0e51b}{m\-Amp\-Sync}
\item 
double \hyperlink{classCUISocket_aee81859d16cb6c117712296b250bdd6e}{m\-Amp\-Multi}
\item 
int \hyperlink{classCUISocket_af429e2606f58040c5907b5deb3b4d173}{m\-Server\-Socket}
\item 
struct sockaddr\-\_\-in \hyperlink{classCUISocket_a0a3c06900b0b9fb9a9d920deea0da492}{m\-Server\-Address}
\item 
pthread\-\_\-t \hyperlink{classCUISocket_a9549ccfd26af168daef1e63263cae042}{m\-Server\-Thd\-Id}
\item 
int \hyperlink{classCUISocket_a3361b8b3e99b76814c206c34b34a2d82}{m\-Client\-Socket}
\item 
struct sockaddr\-\_\-in \hyperlink{classCUISocket_a17c820348b6d3f65530ebcb713b23d2f}{m\-Client\-Address}
\item 
bool \hyperlink{classCUISocket_a96082f4805fd90bb93108779862b0df1}{m\-Allow\-Clients}
\item 
unsigned int \hyperlink{classCUISocket_aba9f5b2c4634bbbcb8c94b498b886355}{m\-Wait\-Time}
\item 
bool \hyperlink{classCUISocket_a22d3544a8839f1b1c0e8746202178f16}{m\-Start\-Signal\-Value}
\item 
bool $\ast$ \hyperlink{classCUISocket_a652b9075b42132035fdd1f405dc8dc70}{m\-Running}
\item 
bool \hyperlink{classCUISocket_aae9ef13605d9560c2ee1feed25252fa4}{m\-Shutdown}
\item 
pthread\-\_\-mutex\-\_\-t \hyperlink{classCUISocket_a143e07bf1578ce8f0760164cd38800a8}{m\-Protocol\-Sync}
\item 
unsigned int \hyperlink{classCUISocket_aeea9fcbf6a6da69cb383f8d4229217cf}{m\-Protocol\-Data\-Length}
\item 
unsigned int \hyperlink{classCUISocket_a4931380b93a42c044af927cba4f78a0d}{m\-Protocol\-Data\-Next\-Index}
\item 
unsigned char $\ast$ \hyperlink{classCUISocket_a5cab2065bee4316741e44ff14267d1c9}{m\-Protocol\-Data}
\end{DoxyCompactItemize}
\subsection*{\-Static \-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
static pthread\-\_\-mutex\-\_\-t \hyperlink{classCUISocket_aa59bd314cded7c165146925bfa68c838}{s\-Sync} = \-P\-T\-H\-R\-E\-A\-D\-\_\-\-M\-U\-T\-E\-X\-\_\-\-I\-N\-I\-T\-I\-A\-L\-I\-Z\-E\-R
\item 
static pthread\-\_\-cond\-\_\-t \hyperlink{classCUISocket_a6dd0c8d6e78cea3dd9ad8600f968edc3}{s\-Connect\-Signal} = \-P\-T\-H\-R\-E\-A\-D\-\_\-\-C\-O\-N\-D\-\_\-\-I\-N\-I\-T\-I\-A\-L\-I\-Z\-E\-R
\item 
static pthread\-\_\-cond\-\_\-t \hyperlink{classCUISocket_a5e133f3495bfb9967c972f116132691d}{s\-Start\-Signal} = \-P\-T\-H\-R\-E\-A\-D\-\_\-\-C\-O\-N\-D\-\_\-\-I\-N\-I\-T\-I\-A\-L\-I\-Z\-E\-R
\item 
static \hyperlink{classCUISocket}{\-C\-U\-I\-Socket} $\ast$ \hyperlink{classCUISocket_aafd44dd43eaeb5300261fba95c9c633a}{s\-Instance} = \-N\-U\-L\-L
\item 
static const std\-::string \hyperlink{classCUISocket_a12587315854a71b4414b9bc71348376e}{s\-Ini\-Section} = \char`\"{}\-U\-S\-E\-R\-\_\-\-I\-N\-T\-E\-R\-F\-A\-C\-E\char`\"{}
\item 
static const uint32\-\_\-t \hyperlink{classCUISocket_a8ea0cb46eba53eafa17dba409689b209}{s\-Max\-Data\-Length} = 1048576
\end{DoxyCompactItemize}


\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCUISocket_ae2103572309116cadf6bc20dcb708ec2}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}}
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{\-C\-U\-I\-Socket}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-U\-I\-Socket\-::\-C\-U\-I\-Socket (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_ae2103572309116cadf6bc20dcb708ec2}
\hypertarget{classCUISocket_a1f85e18bf2626625d0dcfac97e9a7edf}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!$\sim$\-C\-U\-I\-Socket@{$\sim$\-C\-U\-I\-Socket}}
\index{$\sim$\-C\-U\-I\-Socket@{$\sim$\-C\-U\-I\-Socket}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{$\sim$\-C\-U\-I\-Socket}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-U\-I\-Socket\-::$\sim$\-C\-U\-I\-Socket (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private, virtual\mbox{]}}}}
\label{classCUISocket_a1f85e18bf2626625d0dcfac97e9a7edf}
\hypertarget{classCUISocket_a9b19fd388475f468f41a1c301df4b823}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}}
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{\-C\-U\-I\-Socket}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-U\-I\-Socket\-::\-C\-U\-I\-Socket (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-U\-I\-Socket} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a9b19fd388475f468f41a1c301df4b823}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCUISocket_a297b14c0cbaf927e0f4fd87a9f8120a4}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!client\-Function@{client\-Function}}
\index{client\-Function@{client\-Function}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{client\-Function}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::client\-Function (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a297b14c0cbaf927e0f4fd87a9f8120a4}
\hypertarget{classCUISocket_af4406d7bf762e81116e6641e9e6aa38c}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!destroy@{destroy}}
\index{destroy@{destroy}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::destroy (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classCUISocket_af4406d7bf762e81116e6641e9e6aa38c}
\hypertarget{classCUISocket_a120684bbc1fc19767e6243bf079d7d1e}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!full\-Recv@{full\-Recv}}
\index{full\-Recv@{full\-Recv}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{full\-Recv}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-U\-I\-Socket\-::full\-Recv (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Buf, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a120684bbc1fc19767e6243bf079d7d1e}
\hypertarget{classCUISocket_ac2f5d523f1222c777067f0537488f09f}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!full\-Send@{full\-Send}}
\index{full\-Send@{full\-Send}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{full\-Send}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-U\-I\-Socket\-::full\-Send (
\begin{DoxyParamCaption}
\item[{const void $\ast$}]{p\-Buf, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_ac2f5d523f1222c777067f0537488f09f}
\hypertarget{classCUISocket_a6617426e8cac4297824f2915dfcccbb7}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!get\-Amp\-Multiplier@{get\-Amp\-Multiplier}}
\index{get\-Amp\-Multiplier@{get\-Amp\-Multiplier}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{get\-Amp\-Multiplier}]{\setlength{\rightskip}{0pt plus 5cm}double \-C\-U\-I\-Socket\-::get\-Amp\-Multiplier (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a6617426e8cac4297824f2915dfcccbb7}
\hypertarget{classCUISocket_ab006181e1757584fda623337a8c4038a}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!get\-Instance@{get\-Instance}}
\index{get\-Instance@{get\-Instance}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{get\-Instance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-U\-I\-Socket} $\ast$ \-C\-U\-I\-Socket\-::get\-Instance (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static\mbox{]}}}}
\label{classCUISocket_ab006181e1757584fda623337a8c4038a}
\hypertarget{classCUISocket_a35ed529797a42cf07e8fdf76b2e79e4f}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!get\-Next\-Protocol\-Read\-Byte@{get\-Next\-Protocol\-Read\-Byte}}
\index{get\-Next\-Protocol\-Read\-Byte@{get\-Next\-Protocol\-Read\-Byte}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{get\-Next\-Protocol\-Read\-Byte}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::get\-Next\-Protocol\-Read\-Byte (
\begin{DoxyParamCaption}
\item[{unsigned char \&}]{p\-Read\-Value}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a35ed529797a42cf07e8fdf76b2e79e4f}
\begin{DoxyReturn}{\-Returns}
\-False for no data, \-True for data 
\end{DoxyReturn}
\hypertarget{classCUISocket_a3ca7579043e634d08dff251a5fa0b45b}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!operator=@{operator=}}
\index{operator=@{operator=}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{operator=}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-U\-I\-Socket}\& \-C\-U\-I\-Socket\-::operator= (
\begin{DoxyParamCaption}
\item[{const {\bf \-C\-U\-I\-Socket} \&}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a3ca7579043e634d08dff251a5fa0b45b}
\hypertarget{classCUISocket_a47e3f1e51216c4553768ca8ac3dbba7a}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!print\-Data@{print\-Data}}
\index{print\-Data@{print\-Data}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{print\-Data}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string \-C\-U\-I\-Socket\-::print\-Data (
\begin{DoxyParamCaption}
\item[{unsigned int}]{p\-Offset, }
\item[{const void $\ast$}]{p\-Data, }
\item[{int}]{p\-Len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a47e3f1e51216c4553768ca8ac3dbba7a}
\-For debug network traffic. \hypertarget{classCUISocket_a87617588abf1b0c38a3f214c55750bb4}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!pthread\-For\-Server\-Accept@{pthread\-For\-Server\-Accept}}
\index{pthread\-For\-Server\-Accept@{pthread\-For\-Server\-Accept}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{pthread\-For\-Server\-Accept}]{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ \-C\-U\-I\-Socket\-::pthread\-For\-Server\-Accept (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-U\-I\-Socket}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_a87617588abf1b0c38a3f214c55750bb4}
\hypertarget{classCUISocket_afed242cdc5a412bd489354eee0ef9f6c}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Amp\-Embed@{send\-Amp\-Embed}}
\index{send\-Amp\-Embed@{send\-Amp\-Embed}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Amp\-Embed}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Amp\-Embed (
\begin{DoxyParamCaption}
\item[{unsigned char}]{p\-Amp}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_afed242cdc5a412bd489354eee0ef9f6c}
\hypertarget{classCUISocket_a7163501984bd3362b201a219855bc089}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Amp\-Extract@{send\-Amp\-Extract}}
\index{send\-Amp\-Extract@{send\-Amp\-Extract}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Amp\-Extract}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Amp\-Extract (
\begin{DoxyParamCaption}
\item[{unsigned char}]{p\-Amp}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a7163501984bd3362b201a219855bc089}
\hypertarget{classCUISocket_a1d827cb5b450f0406071a240532c1fcf}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Command@{send\-Command}}
\index{send\-Command@{send\-Command}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Command}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::send\-Command (
\begin{DoxyParamCaption}
\item[{uint8\-\_\-t}]{p\-Command, }
\item[{const void $\ast$}]{p\-Payload, }
\item[{int}]{p\-Len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a1d827cb5b450f0406071a240532c1fcf}


\-Create and send a command over the socket to the \-U\-I. 

\begin{DoxyNote}{\-Note}
\-This methode use the mutex m\-Command\-Send\-Sync for sync!!! 

\-This methode create the 4 byte length field. \-The value of this field is p\-Len + 1 (for command).

\-A command need not use this methode to create the command header and its payload but then it must use the mutex m\-Command\-Send\-Sync like the methode send\-Info.
\end{DoxyNote}

\begin{DoxyParams}{\-Parameters}
{\em p\-Command} & the command, interpreted by the \-U\-I \\
\hline
{\em p\-Payload} & the payload for the command \\
\hline
{\em p\-Len} & length of the payload (only, without command-\/length respectively) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
true for successful transmission, false otherwise. false for p\-Len $<$ 0 or p\-Payload-\/null-\/pointer and p\-Len != 0 
\end{DoxyReturn}
\hypertarget{classCUISocket_ab8db7809dec663e4f2ab1f2917b7314d}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Configuration@{send\-Configuration}}
\index{send\-Configuration@{send\-Configuration}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Configuration}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::send\-Configuration (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_ab8db7809dec663e4f2ab1f2917b7314d}
\-Send one or more \-C\-O\-M\-M\-A\-N\-D\-\_\-\-T\-R\-A\-N\-S\-M\-I\-T\-\_\-\-C\-O\-N\-F\-I\-G commands and mark the end with a \-C\-O\-M\-M\-A\-N\-D\-\_\-\-T\-R\-A\-N\-S\-M\-I\-T\-\_\-\-C\-O\-N\-F\-I\-G\-\_\-\-E\-N\-D command.

\begin{DoxyNote}{\-Note}
each command is synced by send\-Command (which use m\-Command\-Send\-Sync) \-But it's not guaranteed that no other command is between the commands of this methode. 
\end{DoxyNote}
\hypertarget{classCUISocket_a0a247cf861ecefb2d7ad2e0f7f6d0d47}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Data@{send\-Data}}
\index{send\-Data@{send\-Data}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Data}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-U\-I\-Socket\-::send\-Data (
\begin{DoxyParamCaption}
\item[{const void $\ast$}]{p\-Payload, }
\item[{int}]{p\-Len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a0a247cf861ecefb2d7ad2e0f7f6d0d47}
\begin{DoxyNote}{\-Note}
\-Don't sync with m\-Command\-Send\-Sync because this is not a full command. 
\end{DoxyNote}
\hypertarget{classCUISocket_a30862c28b8475def04bed534d90b2cef}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Extract\-Buffer\-Info@{send\-Extract\-Buffer\-Info}}
\index{send\-Extract\-Buffer\-Info@{send\-Extract\-Buffer\-Info}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Extract\-Buffer\-Info}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Extract\-Buffer\-Info (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Used, }
\item[{uint32\-\_\-t}]{p\-Size}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a30862c28b8475def04bed534d90b2cef}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_ab6bd0a3090260efc93b0d1d8a581725d}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Frame\-Recv\-Length@{send\-Frame\-Recv\-Length}}
\index{send\-Frame\-Recv\-Length@{send\-Frame\-Recv\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Frame\-Recv\-Length}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Frame\-Recv\-Length (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Length, }
\item[{bool}]{p\-Error}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_ab6bd0a3090260efc93b0d1d8a581725d}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_af430160332bdae64d31111d423b86653}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Frame\-Send\-Length@{send\-Frame\-Send\-Length}}
\index{send\-Frame\-Send\-Length@{send\-Frame\-Send\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Frame\-Send\-Length}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Frame\-Send\-Length (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Length}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_af430160332bdae64d31111d423b86653}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a64f1386ed505563bca2b077c48b9d8bd}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Info@{send\-Info}}
\index{send\-Info@{send\-Info}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Info}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::send\-Info (
\begin{DoxyParamCaption}
\item[{uint8\-\_\-t}]{p\-Log\-Level, }
\item[{const char $\ast$}]{p\-Date, }
\item[{int}]{p\-Date\-Len, }
\item[{const char $\ast$}]{p\-Info, }
\item[{int}]{p\-Info\-Len}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a64f1386ed505563bca2b077c48b9d8bd}
\begin{DoxyNote}{\-Note}
sync with m\-Command\-Send\-Sync 
\end{DoxyNote}
\hypertarget{classCUISocket_ae24d01cb02c33e2605c1fe7f66086acd}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Length@{send\-Length}}
\index{send\-Length@{send\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Length}]{\setlength{\rightskip}{0pt plus 5cm}int \-C\-U\-I\-Socket\-::send\-Length (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Len}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_ae24d01cb02c33e2605c1fe7f66086acd}
\begin{DoxyNote}{\-Note}
\-Don't sync with m\-Command\-Send\-Sync because this is not a full command. 
\end{DoxyNote}
\hypertarget{classCUISocket_a8729d9e58f5bb0a6155a85d2c883cb59}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Packet\-Recv\-Length@{send\-Packet\-Recv\-Length}}
\index{send\-Packet\-Recv\-Length@{send\-Packet\-Recv\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Packet\-Recv\-Length}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Packet\-Recv\-Length (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Length, }
\item[{bool}]{p\-Crc\-Error}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a8729d9e58f5bb0a6155a85d2c883cb59}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a694762d2f9412296c8cc5ecd55696a2b}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Packet\-Send\-Length@{send\-Packet\-Send\-Length}}
\index{send\-Packet\-Send\-Length@{send\-Packet\-Send\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Packet\-Send\-Length}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Packet\-Send\-Length (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Length}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a694762d2f9412296c8cc5ecd55696a2b}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a0974942bfcf36204ec3b3226d433f3c9}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Protocol\-Close@{send\-Protocol\-Close}}
\index{send\-Protocol\-Close@{send\-Protocol\-Close}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Protocol\-Close}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Protocol\-Close (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a0974942bfcf36204ec3b3226d433f3c9}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_aeee0cd96e8153005e16d50e9b8b4c9c6}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Protocol\-Open@{send\-Protocol\-Open}}
\index{send\-Protocol\-Open@{send\-Protocol\-Open}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Protocol\-Open}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::send\-Protocol\-Open (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_aeee0cd96e8153005e16d50e9b8b4c9c6}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a701935eafe95d8deb25ae3575c591d00}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Protocol\-Read\-Feedback@{send\-Protocol\-Read\-Feedback}}
\index{send\-Protocol\-Read\-Feedback@{send\-Protocol\-Read\-Feedback}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Protocol\-Read\-Feedback}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Protocol\-Read\-Feedback (
\begin{DoxyParamCaption}
\item[{uint32\-\_\-t}]{p\-Read, }
\item[{uint32\-\_\-t}]{p\-Size}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a701935eafe95d8deb25ae3575c591d00}
\-Send feedback to \-G\-U\-I how much bytes already readed with get\-Next\-Protocol\-Byte from m\-Protocol\-Data buffer.

\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a21e4a16f7475965caa7eb1482cc6d515}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Protocol\-Write@{send\-Protocol\-Write}}
\index{send\-Protocol\-Write@{send\-Protocol\-Write}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Protocol\-Write}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Protocol\-Write (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a21e4a16f7475965caa7eb1482cc6d515}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_ad59551d52bfa47b4552198a6ed64dde9}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Stream\-Recv\-Data@{send\-Stream\-Recv\-Data}}
\index{send\-Stream\-Recv\-Data@{send\-Stream\-Recv\-Data}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Stream\-Recv\-Data}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Stream\-Recv\-Data (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_ad59551d52bfa47b4552198a6ed64dde9}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a70f0d1081cd688dc4dcb85a8cb753154}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Stream\-Recv\-Info@{send\-Stream\-Recv\-Info}}
\index{send\-Stream\-Recv\-Info@{send\-Stream\-Recv\-Info}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Stream\-Recv\-Info}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Stream\-Recv\-Info (
\begin{DoxyParamCaption}
\item[{int}]{p\-Id, }
\item[{int}]{p\-Ack, }
\item[{uint32\-\_\-t}]{p\-Length, }
\item[{bool}]{p\-Replay}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a70f0d1081cd688dc4dcb85a8cb753154}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_aac64188eb647ce49d985e182a689c7c3}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Stream\-Send\-Data@{send\-Stream\-Send\-Data}}
\index{send\-Stream\-Send\-Data@{send\-Stream\-Send\-Data}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Stream\-Send\-Data}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Stream\-Send\-Data (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Data, }
\item[{int}]{p\-Length}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_aac64188eb647ce49d985e182a689c7c3}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a910519bb460ae46977c7bde573ed11c4}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!send\-Stream\-Send\-Info@{send\-Stream\-Send\-Info}}
\index{send\-Stream\-Send\-Info@{send\-Stream\-Send\-Info}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{send\-Stream\-Send\-Info}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::send\-Stream\-Send\-Info (
\begin{DoxyParamCaption}
\item[{int}]{p\-Id, }
\item[{int}]{p\-Ack, }
\item[{uint32\-\_\-t}]{p\-Length, }
\item[{bool}]{p\-Replay}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a910519bb460ae46977c7bde573ed11c4}
\begin{DoxyNote}{\-Note}
sync by send\-Command (which use m\-Command\-Send\-Sync) 
\end{DoxyNote}
\hypertarget{classCUISocket_a5c2c555aef9065701ed9332b285a2083}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!set\-Amp\-Multiplier@{set\-Amp\-Multiplier}}
\index{set\-Amp\-Multiplier@{set\-Amp\-Multiplier}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{set\-Amp\-Multiplier}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::set\-Amp\-Multiplier (
\begin{DoxyParamCaption}
\item[{double}]{amp}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a5c2c555aef9065701ed9332b285a2083}
\hypertarget{classCUISocket_afee809112baa5364f51f81e5f2a8212b}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!set\-Properties\-Reader@{set\-Properties\-Reader}}
\index{set\-Properties\-Reader@{set\-Properties\-Reader}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{set\-Properties\-Reader}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::set\-Properties\-Reader (
\begin{DoxyParamCaption}
\item[{{\bf \-C\-Properties\-Reader} $\ast$}]{p\-Config}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_afee809112baa5364f51f81e5f2a8212b}
\hypertarget{classCUISocket_a49f48904e1979287e35b4bd6360a8616}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!set\-Running@{set\-Running}}
\index{set\-Running@{set\-Running}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{set\-Running}]{\setlength{\rightskip}{0pt plus 5cm}void \-C\-U\-I\-Socket\-::set\-Running (
\begin{DoxyParamCaption}
\item[{bool $\ast$}]{p\-Running}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classCUISocket_a49f48904e1979287e35b4bd6360a8616}
\hypertarget{classCUISocket_a108336762bfba6e0cd82f90b343d4a8d}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!start\-U\-I\-Server@{start\-U\-I\-Server}}
\index{start\-U\-I\-Server@{start\-U\-I\-Server}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{start\-U\-I\-Server}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::start\-U\-I\-Server (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_a108336762bfba6e0cd82f90b343d4a8d}
create a new server thread for user interface socket. \-Name/\-I\-P and \-Port are used from config. \hypertarget{classCUISocket_a7ae68505fbd40e081f950f3c8977287b}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!thread\-For\-Server\-Accept@{thread\-For\-Server\-Accept}}
\index{thread\-For\-Server\-Accept@{thread\-For\-Server\-Accept}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{thread\-For\-Server\-Accept}]{\setlength{\rightskip}{0pt plus 5cm}void $\ast$ \-C\-U\-I\-Socket\-::thread\-For\-Server\-Accept (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a7ae68505fbd40e081f950f3c8977287b}
\hypertarget{classCUISocket_aa67053ededca7396999cf9236756b837}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!wait\-For\-U\-I\-Client\-And\-Start\-Signal@{wait\-For\-U\-I\-Client\-And\-Start\-Signal}}
\index{wait\-For\-U\-I\-Client\-And\-Start\-Signal@{wait\-For\-U\-I\-Client\-And\-Start\-Signal}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{wait\-For\-U\-I\-Client\-And\-Start\-Signal}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-U\-I\-Socket\-::wait\-For\-U\-I\-Client\-And\-Start\-Signal (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCUISocket_aa67053ededca7396999cf9236756b837}
\begin{DoxyReturn}{\-Returns}
\-True for start signal and false for no start signal. \-No start signal -\/$>$ main programm should exit 
\end{DoxyReturn}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCUISocket_a96082f4805fd90bb93108779862b0df1}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Allow\-Clients@{m\-Allow\-Clients}}
\index{m\-Allow\-Clients@{m\-Allow\-Clients}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Allow\-Clients}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-U\-I\-Socket\-::m\-Allow\-Clients}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a96082f4805fd90bb93108779862b0df1}
\hypertarget{classCUISocket_aee81859d16cb6c117712296b250bdd6e}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Amp\-Multi@{m\-Amp\-Multi}}
\index{m\-Amp\-Multi@{m\-Amp\-Multi}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Amp\-Multi}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf \-C\-U\-I\-Socket\-::m\-Amp\-Multi}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_aee81859d16cb6c117712296b250bdd6e}
\hypertarget{classCUISocket_a00bc83d2580f29358c85b605b7c0e51b}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Amp\-Sync@{m\-Amp\-Sync}}
\index{m\-Amp\-Sync@{m\-Amp\-Sync}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Amp\-Sync}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t {\bf \-C\-U\-I\-Socket\-::m\-Amp\-Sync}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a00bc83d2580f29358c85b605b7c0e51b}
\hypertarget{classCUISocket_a17c820348b6d3f65530ebcb713b23d2f}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Client\-Address@{m\-Client\-Address}}
\index{m\-Client\-Address@{m\-Client\-Address}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Client\-Address}]{\setlength{\rightskip}{0pt plus 5cm}struct sockaddr\-\_\-in {\bf \-C\-U\-I\-Socket\-::m\-Client\-Address}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a17c820348b6d3f65530ebcb713b23d2f}
\hypertarget{classCUISocket_a3361b8b3e99b76814c206c34b34a2d82}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Client\-Socket@{m\-Client\-Socket}}
\index{m\-Client\-Socket@{m\-Client\-Socket}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Client\-Socket}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-U\-I\-Socket\-::m\-Client\-Socket}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a3361b8b3e99b76814c206c34b34a2d82}
\hypertarget{classCUISocket_aab63ab870a2d3649d1d66ead11d73eaf}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Command\-Send\-Sync@{m\-Command\-Send\-Sync}}
\index{m\-Command\-Send\-Sync@{m\-Command\-Send\-Sync}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Command\-Send\-Sync}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t {\bf \-C\-U\-I\-Socket\-::m\-Command\-Send\-Sync}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_aab63ab870a2d3649d1d66ead11d73eaf}
\-A \-U\-I command \-M\-U\-S\-T use this mutex to guarantee the sending as one data block. \-Otherwise a command can be currupted (interlaced with a other command).

\-The mutex must be locked before sending the first byte (this also includes the length-\/field for the command) and must be unlocked after sending the last byte.

\begin{DoxyNote}{\-Note}
\-It's not enougth to sync the methode send\-Data. 
\end{DoxyNote}
\hypertarget{classCUISocket_ab788cb96d6bb37631898b83a4697b3dd}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Config@{m\-Config}}
\index{m\-Config@{m\-Config}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Config}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-Properties\-Reader}$\ast$ {\bf \-C\-U\-I\-Socket\-::m\-Config}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_ab788cb96d6bb37631898b83a4697b3dd}
\hypertarget{classCUISocket_a5cab2065bee4316741e44ff14267d1c9}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Protocol\-Data@{m\-Protocol\-Data}}
\index{m\-Protocol\-Data@{m\-Protocol\-Data}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Protocol\-Data}]{\setlength{\rightskip}{0pt plus 5cm}unsigned char$\ast$ {\bf \-C\-U\-I\-Socket\-::m\-Protocol\-Data}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a5cab2065bee4316741e44ff14267d1c9}
\hypertarget{classCUISocket_aeea9fcbf6a6da69cb383f8d4229217cf}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Protocol\-Data\-Length@{m\-Protocol\-Data\-Length}}
\index{m\-Protocol\-Data\-Length@{m\-Protocol\-Data\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Protocol\-Data\-Length}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-U\-I\-Socket\-::m\-Protocol\-Data\-Length}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_aeea9fcbf6a6da69cb383f8d4229217cf}
\hypertarget{classCUISocket_a4931380b93a42c044af927cba4f78a0d}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Protocol\-Data\-Next\-Index@{m\-Protocol\-Data\-Next\-Index}}
\index{m\-Protocol\-Data\-Next\-Index@{m\-Protocol\-Data\-Next\-Index}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Protocol\-Data\-Next\-Index}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-U\-I\-Socket\-::m\-Protocol\-Data\-Next\-Index}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a4931380b93a42c044af927cba4f78a0d}
\hypertarget{classCUISocket_a143e07bf1578ce8f0760164cd38800a8}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Protocol\-Sync@{m\-Protocol\-Sync}}
\index{m\-Protocol\-Sync@{m\-Protocol\-Sync}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Protocol\-Sync}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t {\bf \-C\-U\-I\-Socket\-::m\-Protocol\-Sync}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a143e07bf1578ce8f0760164cd38800a8}
\hypertarget{classCUISocket_a652b9075b42132035fdd1f405dc8dc70}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Running@{m\-Running}}
\index{m\-Running@{m\-Running}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Running}]{\setlength{\rightskip}{0pt plus 5cm}bool$\ast$ {\bf \-C\-U\-I\-Socket\-::m\-Running}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a652b9075b42132035fdd1f405dc8dc70}
\hypertarget{classCUISocket_aaec2a23c5e3255a0dffc3a3c62472007}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Send\-Sync@{m\-Send\-Sync}}
\index{m\-Send\-Sync@{m\-Send\-Sync}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Send\-Sync}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t {\bf \-C\-U\-I\-Socket\-::m\-Send\-Sync}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_aaec2a23c5e3255a0dffc3a3c62472007}
\hypertarget{classCUISocket_a0a3c06900b0b9fb9a9d920deea0da492}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Server\-Address@{m\-Server\-Address}}
\index{m\-Server\-Address@{m\-Server\-Address}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Server\-Address}]{\setlength{\rightskip}{0pt plus 5cm}struct sockaddr\-\_\-in {\bf \-C\-U\-I\-Socket\-::m\-Server\-Address}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a0a3c06900b0b9fb9a9d920deea0da492}
\hypertarget{classCUISocket_af429e2606f58040c5907b5deb3b4d173}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Server\-Socket@{m\-Server\-Socket}}
\index{m\-Server\-Socket@{m\-Server\-Socket}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Server\-Socket}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \-C\-U\-I\-Socket\-::m\-Server\-Socket}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_af429e2606f58040c5907b5deb3b4d173}
\hypertarget{classCUISocket_a9549ccfd26af168daef1e63263cae042}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Server\-Thd\-Id@{m\-Server\-Thd\-Id}}
\index{m\-Server\-Thd\-Id@{m\-Server\-Thd\-Id}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Server\-Thd\-Id}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-t {\bf \-C\-U\-I\-Socket\-::m\-Server\-Thd\-Id}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a9549ccfd26af168daef1e63263cae042}
\hypertarget{classCUISocket_aae9ef13605d9560c2ee1feed25252fa4}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Shutdown@{m\-Shutdown}}
\index{m\-Shutdown@{m\-Shutdown}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Shutdown}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-U\-I\-Socket\-::m\-Shutdown}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_aae9ef13605d9560c2ee1feed25252fa4}
\hypertarget{classCUISocket_a22d3544a8839f1b1c0e8746202178f16}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Start\-Signal\-Value@{m\-Start\-Signal\-Value}}
\index{m\-Start\-Signal\-Value@{m\-Start\-Signal\-Value}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Start\-Signal\-Value}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf \-C\-U\-I\-Socket\-::m\-Start\-Signal\-Value}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_a22d3544a8839f1b1c0e8746202178f16}
\hypertarget{classCUISocket_aba9f5b2c4634bbbcb8c94b498b886355}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!m\-Wait\-Time@{m\-Wait\-Time}}
\index{m\-Wait\-Time@{m\-Wait\-Time}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{m\-Wait\-Time}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int {\bf \-C\-U\-I\-Socket\-::m\-Wait\-Time}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCUISocket_aba9f5b2c4634bbbcb8c94b498b886355}
\hypertarget{classCUISocket_a6dd0c8d6e78cea3dd9ad8600f968edc3}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!s\-Connect\-Signal@{s\-Connect\-Signal}}
\index{s\-Connect\-Signal@{s\-Connect\-Signal}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{s\-Connect\-Signal}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-cond\-\_\-t {\bf \-C\-U\-I\-Socket\-::s\-Connect\-Signal} = \-P\-T\-H\-R\-E\-A\-D\-\_\-\-C\-O\-N\-D\-\_\-\-I\-N\-I\-T\-I\-A\-L\-I\-Z\-E\-R\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_a6dd0c8d6e78cea3dd9ad8600f968edc3}
\hypertarget{classCUISocket_a12587315854a71b4414b9bc71348376e}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!s\-Ini\-Section@{s\-Ini\-Section}}
\index{s\-Ini\-Section@{s\-Ini\-Section}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{s\-Ini\-Section}]{\setlength{\rightskip}{0pt plus 5cm}const std\-::string {\bf \-C\-U\-I\-Socket\-::s\-Ini\-Section} = \char`\"{}\-U\-S\-E\-R\-\_\-\-I\-N\-T\-E\-R\-F\-A\-C\-E\char`\"{}\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_a12587315854a71b4414b9bc71348376e}
\hypertarget{classCUISocket_aafd44dd43eaeb5300261fba95c9c633a}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!s\-Instance@{s\-Instance}}
\index{s\-Instance@{s\-Instance}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{s\-Instance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-C\-U\-I\-Socket} $\ast$ {\bf \-C\-U\-I\-Socket\-::s\-Instance} = \-N\-U\-L\-L\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_aafd44dd43eaeb5300261fba95c9c633a}
\hypertarget{classCUISocket_a8ea0cb46eba53eafa17dba409689b209}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!s\-Max\-Data\-Length@{s\-Max\-Data\-Length}}
\index{s\-Max\-Data\-Length@{s\-Max\-Data\-Length}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{s\-Max\-Data\-Length}]{\setlength{\rightskip}{0pt plus 5cm}const uint32\-\_\-t {\bf \-C\-U\-I\-Socket\-::s\-Max\-Data\-Length} = 1048576\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_a8ea0cb46eba53eafa17dba409689b209}
\hypertarget{classCUISocket_a5e133f3495bfb9967c972f116132691d}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!s\-Start\-Signal@{s\-Start\-Signal}}
\index{s\-Start\-Signal@{s\-Start\-Signal}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{s\-Start\-Signal}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-cond\-\_\-t {\bf \-C\-U\-I\-Socket\-::s\-Start\-Signal} = \-P\-T\-H\-R\-E\-A\-D\-\_\-\-C\-O\-N\-D\-\_\-\-I\-N\-I\-T\-I\-A\-L\-I\-Z\-E\-R\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_a5e133f3495bfb9967c972f116132691d}
\hypertarget{classCUISocket_aa59bd314cded7c165146925bfa68c838}{
\index{\-C\-U\-I\-Socket@{\-C\-U\-I\-Socket}!s\-Sync@{s\-Sync}}
\index{s\-Sync@{s\-Sync}!CUISocket@{\-C\-U\-I\-Socket}}
\subsubsection[{s\-Sync}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t {\bf \-C\-U\-I\-Socket\-::s\-Sync} = \-P\-T\-H\-R\-E\-A\-D\-\_\-\-M\-U\-T\-E\-X\-\_\-\-I\-N\-I\-T\-I\-A\-L\-I\-Z\-E\-R\hspace{0.3cm}{\ttfamily  \mbox{[}static, private\mbox{]}}}}
\label{classCUISocket_aa59bd314cded7c165146925bfa68c838}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{ui__socket_8h}{ui\-\_\-socket.\-h}\item 
\hyperlink{ui__socket_8cxx}{ui\-\_\-socket.\-cxx}\end{DoxyCompactItemize}
